// 实现面向对象的线程池（重点掌握Threadpool的实现）以及 实现基于对象的线程池（两者对比看看）

// 基于对象的线程池
// 1、取消了继承
// 2、使用广义仿函数代替代替动态多态



#include "task_queue.hh"
#include "thread_pool.hh"
#include <iostream>
#include <memory>

using std::cout;
using std::endl;


static int cc = 1;
void process()
{
    cout << cc++ << " " << "process()" << endl;
}

int main()
{
    Thread_pool pool(4, 10);
    pool.start();

    int count = 30;
    while(count--){ 
        pool.addTask(bind(&process));
        cout << "count: " << count << endl;
    }


    pool.stop();

    return 0;
}
